home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / ewl / ewl_button.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  2KB  |  67 lines

  1. #ifndef __EWL_BUTTON_H__
  2. #define __EWL_BUTTON_H__
  3.  
  4. /**
  5.  * @file ewl_button.h
  6.  * @defgroup Ewl_Button Button: The Basic Button
  7.  * @brief The button class is a basic button with a label. This class inherits
  8.  * from the Ewl_Box to allow for placing any other widget inside the button.
  9.  *
  10.  * @{
  11.  */
  12.  
  13. /**
  14.  * @themekey /button/file
  15.  * @themekey /button/group
  16.  */
  17.  
  18. /**
  19.  * The button provides a simple wrapper for creating a clickable Ewl_Widget
  20.  * with an Ewl_Text displayed inside.
  21.  */
  22. typedef struct Ewl_Button Ewl_Button;
  23.  
  24. /**
  25.  * @def EWL_BUTTON(button)
  26.  * Typecast a pointer to an Ewl_Button pointer.
  27.  */
  28. #define EWL_BUTTON(button) ((Ewl_Button *) button)
  29.  
  30. /**
  31.  * @struct Ewl_Button
  32.  * @brief A simple Ewl_Widget to provide for a clickable button in the UI.
  33.  * Provides easy facilities for adding a Ewl_Text label to the button, and
  34.  * a Ewl_Image but allows for placing any number of Ewl_Widget's in the Ewl_Button.
  35.  */
  36. struct Ewl_Button
  37. {
  38.     Ewl_Box         box;         /**< Inherit from the box for adding widgets */
  39.     Ewl_Widget     *body;
  40.     Ewl_Widget     *label_object;    /**< Labels are common, make it easy */
  41.     Ewl_Widget     *image_object;    /**< Add an image to the button if needed */
  42.     Ewl_Stock_Type    stock_type;    /**< The stock type of the button */
  43. };
  44.  
  45. Ewl_Widget    *ewl_button_new(void);
  46. int         ewl_button_init(Ewl_Button *b);
  47. void         ewl_button_label_set(Ewl_Button *b, const char *l);
  48. const char    *ewl_button_label_get(Ewl_Button *b);
  49.  
  50. void         ewl_button_stock_type_set(Ewl_Button *b, Ewl_Stock_Type stock);
  51. Ewl_Stock_Type     ewl_button_stock_type_get(Ewl_Button *b);
  52.  
  53. void         ewl_button_image_set(Ewl_Button *b, const char *file, const char *key);
  54. const char    *ewl_button_image_get(Ewl_Button *b);
  55.  
  56. /*
  57.  * Internal
  58.  */
  59. void ewl_button_cb_key_down(Ewl_Widget *w, void *ev, void *data);
  60.  
  61. /**
  62.  * @}
  63.  */
  64.  
  65. #endif                /* __EWL_BUTTON_H__ */
  66.  
  67.